/*
 * Copyright (C) 2013 Félix Marín Ramírez | felixmurcia@gmail.com
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

/*
 * DOCUMENTACION: http://documentacion-emple-depart.tk
 */
package adgui.modelo;

import java.sql.SQLException;

/**
 *
 * @author Félix Marín Ramírez | felixmurcia@gmail.com
 * @version 1.0
 */
public class ConsultaConsEmple extends AbstractModel {

    private int empNo;
    private String oficio;
    private int director;
    private String fechaAlta;
    private double salario;
    private double comision;
    private int deptNo;

    /**
     * Constructor de la clase encargado de inicializar la clase de la que
     * hereda.
     *
     * @throws SQLException Lanza la excepción SQLException heredada de la clase
     * padre.
     */
    public ConsultaConsEmple() throws SQLException, ClassNotFoundException {
        super();
    }

    /**
     *
     * @return Devuelve el número de empleado.
     */
    public int getEmpNo() {
        return empNo;
    }

    /**
     *
     * @return Devuelve el nombre del oficio del empleado.
     */
    public String getOficio() {
        return oficio;
    }

    /**
     *
     * @return Devuelve el nombre del director del empleado.
     */
    public int getDirector() {
        return director;
    }

    /**
     *
     * @return Devuelve la fecha de alta en la empresa.
     */
    public String getFechaAlta() {
        return fechaAlta;
    }

    /**
     *
     * @return Devuelve el salario del empleado.
     */
    public double getSalario() {
        return salario;
    }

    /**
     *
     * @return Devuelve la comision del empleado.
     */
    public double getComision() {
        return comision;
    }

    /**
     *
     * @return Devuelve el número de departamento donde trabaja el empleado.
     */
    public int getDeptNo() {
        return deptNo;
    }

    /**
     * Método que inserta los datos de los empleados en sus variable
     * correspondientes gracias a la consulta previamente realizada.
     *
     * @param EMP_NO Número de empleado.
     * @throws SQLException Lanza una excepción si la consulta no se puede
     * ralizar.
     */
    public void datosEmple(final int EMP_NO) throws SQLException, ClassNotFoundException {
        super.conexion();
        super.setConsulta("SELECT * FROM emple WHERE emp_no = " + EMP_NO);
        super.st = super.getConexion().createStatement();
        super.rs = super.st.executeQuery(super.getConsulta());
        super.rs.next();

        empNo = rs.getInt(1);
        oficio = rs.getString(3);
        director = rs.getInt(4);
        fechaAlta = String.valueOf(rs.getDate(5));
        salario = rs.getDouble(6);
        comision = rs.getDouble(7);
        deptNo = rs.getInt(8);

        super.cerrarConexion();
        super.cerrarStatements();
    }
}
